﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using PMSGSC.BLL;
using PMSGSC.DAL;

namespace PMSGSC.App
{
    public partial class frmShowRescheduleLog : DevExpress.XtraEditors.XtraForm
    {
        public frmShowRescheduleLog()
        {
            InitializeComponent();
            rescheduleLogBindingSource.DataSource = RescheduleLog_BLL.GetAll(frmMain.ship.Ship_ID);
        }
        // Tạo một đối tượng lưu trữ các thông tin trên View ==> truyền xuống các layer bên dưới
        private RescheduleLog rescheduleLog = new RescheduleLog();

        //Hiển thị số thứ tự của gridview
        private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
        {
            if (e.RowHandle >= 0)
            {
                e.Info.DisplayText = (e.RowHandle + 1).ToString();
            }
        }

        // Sự kiện click vào thành Navigator
        private void datnaviMain_ButtonClick(object sender, DevExpress.XtraEditors.NavigatorButtonClickEventArgs e)
        {
            switch (e.Button.ButtonType)
            {
                case NavigatorButtonType.CancelEdit:
                    if (XtraMessageBox.Show("Are you sure you want to delete a RescheduleLog?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        rescheduleLog = rescheduleLogBindingSource.Current as RescheduleLog;
                        bool result = RescheduleLog_BLL.Delete(rescheduleLog);
                        if (!result)
                        {
                            XtraMessageBox.Show("Can't Delete", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        rescheduleLogBindingSource.DataSource = RescheduleLog_BLL.GetAll(frmMain.ship.Ship_ID);
                    }
                    break;
            }
        }

        // Sự kiện nhân phím delete sảy ra
        private void gridView1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Delete)
            {
                if (XtraMessageBox.Show("Are you sure you want to delete a RescheduleLog?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    rescheduleLog = rescheduleLogBindingSource.Current as RescheduleLog;
                    bool result = RescheduleLog_BLL.Delete(rescheduleLog);
                    if (!result)
                    {
                        XtraMessageBox.Show("Can't Delete", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    rescheduleLogBindingSource.DataSource = RescheduleLog_BLL.GetAll(frmMain.ship.Ship_ID);
                }
            }
        }
    }
}